/**
 * 简单工厂 叫做静态工厂方法（Static Factory Method）模式
 * 
 * 简单工厂模式的实质是由一个工厂类根据传入的参数，动态决定应该创建哪一个产品类
 * 
 * 也就是说一个函数 根据传入的不同的参数而返回不同的对象或者实例  而这些对象一般有相同的属性和方法
 */

let LoginAlert = function (text) {
  this.content = text
}
LoginAlert.prototype.show = function () {
  console.log('展示alert')
}


let LoginConfirm = function (text) {
  this.content = text
}
LoginAlert.prototype.show = function () {
  console.log('展示确认框')
}

//将共同的部分可以单独抽离出来，不用像上面那样定义太多的类
function creatPop(type, text) {
  let o = new Object()
  o.content = text;
  o.show = function () { // 这个是通用的部分
   
  }

  if (type === 'alert') { // 这个是差异化的部分
    console.log(o.content)
  } else if (type === 'confirm') {
    console.log(o.content)
  }

  return o
}

let usernameAlert = creatPop('alert', '用户名只能是六个字母')
usernameAlert.show()
let con = creatPop('confirm','点击了确认')
con.show()